import listener from '../utils/listener.js';
import qs from '../utils/qs.js';

// 初始化云
listener.once('app.init', (res) => {
    console.log('初始化云:', res);
    if (!wx.cloud) {
        console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
        wx.cloud.init({
            env: 'prod-097b93'
        })
    }
});

// 快捷方法注入
listener.once('app.init', (res) => {
    console.log('快捷方法注入:', res);

    // 显示提示语
    wx.showTips = (msg) => wx.showToast({
        title: msg,
        icon: 'none'
    });

    // 延迟返回上一页
    wx.delayNavigateBack = (delay, callback) => {
        setTimeout(() => {
            wx.navigateBack({
                delta: 1,
            });
        }, delay);
    };
});

//app exit
listener.once('app.exit', (res) => {
    console.log('app exit:', res);
});

//app show
listener.on('app.show', (res) => {
    console.log('app show:', res);
});

//app hide
listener.on('app.hide', (res) => {
    console.log('app hide:', res);
});

//app error
listener.on('app.error', (res) => {
    console.error('app error:', res);
});

//app page.notfound
listener.on('app.page.notfound', (res) => {
    console.error('app page.notfound:', res);
});

//初始化授权监听
listener.on('wx.userinfo.to', (res) => {
    if (getApp().globalData.isAuthing) return;
    getApp().globalData.isAuthing = true;

    const url = '/pages/user/auth/auth?' + qs.stringify(res, {
        encode: false,
        encodeValuesOnly: true
    });
    wx.navigateTo({
        url
    });
});